// pages/MakingAnOrder/MakingAnOrder.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    cont:"",
    ordername: "", //搜索框value
    userShow: true, //一开始显示
    userShowSearch: false, //搜索后显示
    username: "", //用户姓名
    userOrderList: [],
    searchuserOrderList:[]
  },
  // 搜索
  onSearch(event) {
    this.setData({
      ordername: event.detail // 获取输入框内容
    });
    const searchResult = this.data.userOrderList.filter(item =>
      item.orderNumber.includes(this.data.ordername)
    );
    if (searchResult.length == 0) {

      this.setData({
        searchuserOrderList: []
      })
      Toast.fail('搜索为空');
    } else {
      this.setData({
        searchuserOrderList: searchResult, // 更新搜索结果
        userShow: false,
        userShowSearch: true
      });
    }
  },

  onCancel() {
    this.setData({
      ordername: '' ,// 获取输入框内容
      userShow: true,
      userShowSearch: false,
      searchuserOrderList: []
    });
  },
 // 进入订单详情页面
  editorder(event) {
    const item = event.currentTarget.dataset.editorder
    // console.log(item)
    wx.navigateTo({
      url: `/pages/EditOrder/EditOrder?item=${JSON.stringify(item)}`,
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const itemStr = options.item; // 获取传递过来的字符串
    const item = JSON.parse(itemStr); // 解析成对象
    this.setData({
      username: item.username
    })
    this.getUserOrderList(this.data.username)
  },
  // 计算两个日期之间的天数差,date1是目前日期。
  calculateDaysDifference(date1, date2) {
    const oneDay = 24 * 60 * 60 * 1000; // 一天的毫秒数
    const firstDate = new Date(date1);
    const secondDate = new Date(date2);
    // return Math.round(Math.abs((firstDate - secondDate) / oneDay));
    return Math.round(( secondDate - firstDate) / oneDay); 
  },




  // 根据用户名请求订单
  getUserOrderList(item) {
    
    wx.cloud.callFunction({
      name: 'userGetOrderList',
      data: {
        manufacturerNam: this.data.username
      },
      success: res => {
        this.setData({
          userOrderList: res.result.data,
          cont:res.result.data.length
        })
        // 获取当前时间的日期对象
        const currentDate = new Date();
        // 循环处理每个订单信息
        this.data.userOrderList.forEach(order => {
          const expectedDeliveryDate = order.expectDeliTime;
          console.log("order信息",order.orderCompleted)
          if(order.orderCompleted == 'yes'){
            order.daysOverdue = "  完成  "
          }else{
            // 计算逾期天数
          const daysOverdue = this.calculateDaysDifference(currentDate, expectedDeliveryDate);
          console.log("计算逾期天数",daysOverdue)
          order.daysOverdue = daysOverdue;
          }
          
        });
        this.setData({
          userOrderList: this.data.userOrderList
        });
        // console.log(this.data.userOrderList, 222)
      },
      fail: err => {
        console.error('Failed to fetch orders:', err);
        // 处理错误情况
      }
    });
  },

  // 查看订单信息
  orderList(event) {
    const item = event.currentTarget.dataset.item
    wx.navigateTo({
      url: `/pages/PartsCatalog/PartsCatalog?orderNumber=${item.orderNumber}&afterSale=${item.afterSale}&user=${item.user}&manufactor=${JSON.stringify(item.manufactor)}`
    })
  },
  // 去用户页面
  // gouserpage() {
  //   wx.switchTab({
  //     url: '/pages/User/User' // 页面路径，注意路径是从根目录开始
  //   });
  // },
  // 删除订单
  // removeOrderList(event) {
  //   const _id = event.currentTarget.dataset._id
  //   const index = event.currentTarget.dataset.index; // 获取自定义属性 data-id 的值
  //   const chack = event.currentTarget.dataset.chack; // 获取自定义属性 data-id 的值
  //   wx.cloud.callFunction({
  //     name: 'removeOrder', // 调用的云函数名称
  //     data: {
  //       _id: _id // 要删除的订单的 _id
  //     },
  //     success: res => {
  //       if (res.result.success) {
  //         // console.log('订单删除成功:', res.result.message);
  //         // 删除成功后的操作，例如重新加载数据或者显示成功提示
  //         wx.showToast({
  //           title: '订单删除成功',
  //           icon: 'success',
  //           duration: 2000
  //         });
  //         if (chack == 'original') {
  //           const copypartsList = this.data.userOrderList.slice();
  //           copypartsList.splice(index, 1)
  //           this.setData({
  //             userOrderList: copypartsList
  //           })
  //         } else if (chack == "search") {
  //           const copysearchPartsList = this.data.searchuserOrderList.slice();
  //           copysearchPartsList.splice(index, 1)
  //           this.setData({
  //             searchuserOrderList: copysearchPartsList
  //           })
  //         }
  //       } else {
  //         console.error('订单删除失败:', res.result.message);
  //         // 删除失败时的操作，例如显示失败消息
  //         wx.showToast({
  //           title: '订单删除失败：' + res.result.message,
  //           icon: 'none',
  //           duration: 2000
  //         });
  //       }
  //     },
  //     fail: err => {
  //       console.error('调用云函数失败:', err);
  //       // 调用云函数失败时的操作，例如显示错误消息
  //       wx.showToast({
  //         title: '调用云函数失败，请稍后重试',
  //         icon: 'none',
  //         duration: 2000
  //       });
  //     }
  //   });
  // },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.getUserOrderList(this.data.username)
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      userShow: true,
      userShowSearch: false,
      searchuserOrderList: []
    });
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})